package main

import (
	"ipparser/ip_parser"
	"log"
)

func init() {
	log.SetFlags(log.Lshortfile | log.Lmicroseconds)
}

func main() {
	log.Println("-------")
	// log.Println(ip_parser.LengthOfIP("127.0.0.0/14", ""))
	// log.Println(ip_parser.IPParse("192.168.12.0/24, 172.16.9.0-172.16.9.10, 172.16.9.234"))
	// log.Println(ip_parser.LengthOfIP("192.168.12.0/24, 192.168.12.10-192.168.12.19, 172.16.9.0-172.16.9.10, 172.16.9.234", "192.168.12.3-192.168.12.253"))
	// log.Println(ip_parser.LengthOfIP("192.168.12.0/3, 192.168.12.10-192.168.12.19, 172.16.9.0-172.16.9.9", "192.168.12.0-192.168.12.9,192.168.12.100-192.168.12.199"))
	// log.Println("-------")
	// _ = ip_parser.Range("192.168.12.0/3, 192.168.12.10-192.168.12.19, 172.16.9.0-172.16.9.9, 192.11.1.1,192.11.1.1,192.11.1.2", "192.168.12.0-192.168.12.9,192.168.12.100-192.168.12.199", func(ip string) bool {
	// 	// log.Println(ip)
	// 	return true
	// })
	// log.Println("")

	// p, err := ip_parser.NewIPParser("192.168.12.0/24, 192.168.12.10-192.168.12.19, 172.16.9.0-172.16.9.9, 192.11.1.1,192.11.1.1,192.11.1.2", "192.168.12.0-192.168.12.9,192.168.12.100-192.168.12.199")
	p, err := ip_parser.NewIPParser("192.0.0.0/24", "")
	if err != nil {
		log.Panic(err)
	}
	// p.Range(func(ip string) bool {
	// 	log.Println(ip)
	// 	return true
	// })
	log.Println(p.Len())
}
